(function ($) {
  $.fn.sidebarMenu = function (options) {
    options = $.extend({}, $.fn.sidebarMenu.defaults, options || {});
    var target = $(this);
    target.addClass('nav');
    target.addClass('nav-list');

    if (options.data) {
      init(target, options.data);
    }
    else {
      if (!options.url) return;
      $.getJSON(options.url, options.param, function (data) {
        init(target, data);
      });
    }
    var url = window.location.pathname;

    function init(target, data) {
      $.each(data, function (i, item){
        var li = $('<li></li>');
		var a = $('<a></a>');
		var arrow = $('<b></b>');
			
			var i = $('<i></i>');
			i.addClass('menu-icon');
		a.append(i);
        if (item.menus&&item.menus.length>0){
			a.addClass('dropdown-toggle');
			a.attr('href', 'javascript:void(0)');
			
			i.addClass(item.icon);
			var span = $('<span></span>');
			span.addClass('menu-text').text(item.text);
			a.append(span);
			
			var b = $('<b></b>');
			b.addClass('arrow fa fa-angle-down');
			a.append(b);
			
			li.append(a);
			li.append($('<b></b>').addClass('arrow'));
			
			var menus = $('<ul></ul>');
			menus.addClass('submenu');
			li.append(menus);
			
			init(menus, item.menus);
        }
        else {
			
			a.attr('href',"main.html#"+item.url);
			a.attr('data-url',item.url);
			
			
			if(!item.icon){
				i.addClass('fa fa-caret-right');
			}else{
				i.addClass(item.icon);
			}
			
			//i.after(item.text);
			var span = $('<span></span>');
			span.addClass('menu-text').text(item.text);
			a.append(span);
			
			li.append(a);
			
			var b = $('<b></b>');
			b.addClass('arrow');
			li.append($('<b></b>').addClass('arrow'));
        }
        target.append(li);
      });
    }
  }

  $.fn.sidebarMenu.defaults = {
    url: null,
    param: null,
    data: null
  };
  
})(jQuery);